home *** CD-ROM | disk | FTP | other *** search
- Date: April 21, 1987
- From: Mike Lucich (via tape)
- Subject: Sperry/Univac/Unisys Kermit
-
- We here at Ft Leavenworth initially had a rough time reading the KERMIT release
- tape on our Unisys (aka Sperry, Univac) 1100 mainframe and send you the
- following program in the hope others will find it usefull.
-
- We run both assembler and Pascal versions of KERMIT on our mainframe and have
- made several minor changes to accomodate MS-DOS KERMIT Version 2.27 through our
- ancient C/SP front end processors. Fortunately with MSKERMIT version 2.29
- these kludges are no longer required (the ability to set handshake to any
- character solves our problems nicely).
-
- Please feel free to refer any Unisys users with problems with KERMIT to us, if
- we might help them. Also please return our tape with the latest KERMIT
- distribution to the address above. We thank you!
-
- Mike Lucich
- USA ISC DOIM
- Unisys Support Team
- ATTN: ATZL-GMO-IA
- Ft Leavenworth, KS 66027-5700
-
- [Ed. - The COBOL program that reads a file from a Kermit tape (the format
- is either EBCDIC OS Standard Label Format V or else ASCII ANSI Label Format D;
- it's not clear from the message, most most likely it's the EBCDIC tape, since
- this program itself arrived on an EBCDIC tape)... is in KER:UNIVAC.INS, along
- with this message.]
-
- @DELETE,C RD$PRINT.
- @CAT RD$PRINT.,///2048
- @BRKPT PRINT$,RD$PRINT.
- @hdg KERMIT RELEASE TAPE READ PROGRAM
- @ACOB,SI TPF$.READ
- 000100 IDENTIFICATION DIVISION.
- 000200 PROGRAM-ID. READ-KERMIT.
- 000300* THIS PROGRAM WILL READ A FILE FROM THE KERMIT RELEASE
- 000400* TAPE AND WRITE THAT FILE OUT AS AN SDF FILE NAMED
- 000500* OUTFILE ON DISK. THE INPUT TAPE SHOULD BE ASSIGNED AS
- 000600* INFILE, USING AN ASSIGNMENT STATEMENT SIMILAR TO THE
- 000700* FOLLOWING: @ASG,TJ INFILE.,U9S//////Q,reelno
- 000800* IN ADDITION, THE INPUT TAPE SHOULD BE POSITIONED
- 000900* AT THE PROPER FILE BEFORE RUNNING THIS PROGRAM.
- 000901* THIS MAY BE ACCOMPLISHED VIA:
- 000902* @MOVE INFILE.,n
- 000903* Where n=(number of desired file - 1) X 3
- 000910* THIS PROGRAM MUST BE COMPILED WITH THE ACOB
- 000920* EXTRA OPTION D.
- 000930* Furthermore, when this program is executed, the run
- 000940* --------------------MUST---------------------------
- 000950* have assigned, with name or usename of DFP$, a program
- 000960* file which contains an omnibus element named infile
- 000970* which was created by the define file processor to
- 000980* specify option=a, for 256 character EBCDIC character
- 000990* set. DO YOU BELIEVE IT ?
- 000995*
- 001000 ENVIRONMENT DIVISION.
- 001100 CONFIGURATION SECTION.
- 001200 SOURCE-COMPUTER. UNIVAC-1100-80.
- 001300 OBJECT-COMPUTER. UNIVAC-1100-80.
- 001400 INPUT-OUTPUT SECTION.
- 001500 FILE-CONTROL.
- 001600 SELECT INFILE-E ASSIGN TO UNISERVO INFILE.
- 001700 SELECT OUTFILE-A ASSIGN TO DISC OUTFILE.
- 001800 DATA DIVISION.
- 001900 FILE SECTION.
- 002000 FD INFILE-E
- 002100 LABEL RECORDS ARE STANDARD
- 002200 RECORDING MODE IS V AN
- 002300 BLOCK CONTAINS 1 TO 8192 CHARACTERS.
- 002400 01 INREC-E PIC X(300).
- 002500 FD OUTFILE-A
- 002600 LABEL RECORDS ARE OMITTED.
- 002700 01 OUTREC-A PIC X(300).
- 002800 WORKING-STORAGE SECTION.
- 002900 77 INCNT PIC 9(07) VALUE 0.
- 003000 77 OUTCNT PIC 9(07) VALUE 0.
- 003100 77 PRINT-REC PIC 9(01) VALUE 0.
- 003200 01 SPOINTS.
- 003300 03 FILLER PIC 1(09) VALUE 90.
- 003300 03 FILLER PIC 1(09) VALUE 93.
- 003400 01 APOINTS.
- 003500 03 FILLER PIC 1(09) VALUE 33.
- 003600 01 SLBRACS.
- 003700 03 FILLER PIC 1(09) VALUE 173.
- 003700 03 FILLER PIC 1(09) VALUE 213.
- 003800 01 ALBRACS.
- 003900 03 FILLER PIC 1(09) VALUE 91.
- 004000 01 SRBRACS.
- 004100 03 FILLER PIC 1(09) VALUE 189.
- 004100 03 FILLER PIC 1(09) VALUE 229.
- 004200 01 ARBRACS.
- 004300 03 FILLER PIC 1(09) VALUE 93.
- 004400 01 SBARS.
- 004500 03 FILLER PIC 1(09) VALUE 79.
- 004500 03 FILLER PIC 1(09) VALUE 33.
- 004600 01 ABARS.
- 004700 03 FILLER PIC 1(09) VALUE 124.
- 005200 PROCEDURE DIVISION.
- 005300 OPEN-FILES.
- 005400 OPEN INPUT INFILE-E WITH NO REWIND.
- 005500 OPEN OUTPUT OUTFILE-A.
- 005600 READ-FILE.
- 005700 READ INFILE-E AT END GO TO EOJ.
- 005800 ADD 1 TO INCNT.
- 005900 INSPECT INREC-E REPLACING
- 006000 ALL SPOINTS BY APOINTS
- 006100 ALL SLBRACS BY ALBRACS
- 006200 ALL SRBRACS BY ARBRACS
- 006300 ALL SBARS BY ABARS.
- 006400 MOVE INREC-E TO OUTREC-A.
- 006500 WRITE OUTREC-A.
- 006600 ADD 1 TO OUTCNT.
- 006700 MOVE SPACES TO INREC-E OUTREC-A.
- 006800 GO TO READ-FILE.
- 006900 EOJ.
- 007000 CLOSE INFILE-E WITH NO REWIND.
- 007100 CLOSE OUTFILE-A.
- 007200 DISPLAY 'RECORDS IN ' INCNT UPON PRINTER.
- 007300 DISPLAY 'RECORDS OUT ' OUTCNT UPON PRINTER.
- 007400 STOP RUN.
- @EOF
- @MAP,I ,SOFTWARE.READ
- IN TPF$.READ
- END
- @BRKPT PRINT$
-